#pragma once

#include "public/build.h"

namespace renderit {

    // https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx

    #define VKEY_BACK             0x08
    #define VKEY_TAB              0x09
    #define VKEY_CLEAR            0x0C
    #define VKEY_RETURN           0x0D
    #define VKEY_SHIFT            0x10
    #define VKEY_LSHIFT           0xA0
    #define VKEY_RSHIFT           0xA1
    #define VKEY_CONTROL          0x11
    #define VKEY_LCONTROL         0xA2
    #define VKEY_RCONTROL         0xA3
    #define VKEY_CAPITAL          0x14
    #define VKEY_ESCAPE           0x1B
    #define VKEY_SPACE            0x20
    #define VKEY_END              0x23
    #define VKEY_HOME             0x24
    #define VKEY_LEFT             0x25
    #define VKEY_UP               0x26
    #define VKEY_RIGHT            0x27
    #define VKEY_DOWN             0x28

    #define VKEY_0                0x30
    #define VKEY_1                0x31
    #define VKEY_2                0x32
    #define VKEY_3                0x33
    #define VKEY_4                0x34
    #define VKEY_5                0x35
    #define VKEY_6                0x36
    #define VKEY_7                0x37
    #define VKEY_8                0x38
    #define VKEY_9                0x39

    #define VKEY_NUMPAD0          0x60
    #define VKEY_NUMPAD1          0x61
    #define VKEY_NUMPAD2          0x62
    #define VKEY_NUMPAD3          0x63
    #define VKEY_NUMPAD4          0x64
    #define VKEY_NUMPAD5          0x65
    #define VKEY_NUMPAD6          0x66
    #define VKEY_NUMPAD7          0x67
    #define VKEY_NUMPAD8          0x68
    #define VKEY_NUMPAD9          0x69

    #define VKEY_F1               0x70
    #define VKEY_F2               0x71
    #define VKEY_F3               0x72
    #define VKEY_F4               0x73
    #define VKEY_F5               0x74
    #define VKEY_F6               0x75
    #define VKEY_F7               0x76
    #define VKEY_F8               0x77
    

    #define VKEY_A                0x41
    #define VKEY_B                0x42
    #define VKEY_C                0x43
    #define VKEY_D                0x44
    #define VKEY_E                0x45
    #define VKEY_F                0x46
    #define VKEY_G                0x47
    #define VKEY_H                0x48
    #define VKEY_I                0x49
    #define VKEY_J                0x4A
    #define VKEY_K                0x4B
    #define VKEY_L                0x4C
    #define VKEY_M                0x4D
    #define VKEY_N                0x4E
    #define VKEY_O                0x4F
    #define VKEY_P                0x50
    #define VKEY_Q                0x51
    #define VKEY_R                0x52
    #define VKEY_S                0x53
    #define VKEY_T                0x54
    #define VKEY_U                0x55
    #define VKEY_V                0x56
    #define VKEY_W                0x57
    #define VKEY_X                0x58
    #define VKEY_Y                0x59
    #define VKEY_Z                0x5A


} // namespace angel